package com.tencent.sr.iris.activity.dependency.dto.activity;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 任务奖励响应
 *
 * @author nixiaolin
 * @date 2023/05/04
 */
@Data
@ApiModel("任务奖励响应")
public class TaskIncomeDTO {

    @ApiModelProperty("任务奖励")
    @JSONField(name = "task_income")
    private TaskIncome taskIncome;

    @ApiModelProperty("任务信息")
    @JSONField(name = "task_join_data")
    private TaskJoinData taskJoinData;

    @ApiModelProperty("待结算子任务列表")
    @JSONField(name = "wait_task_phase_data")
    private List<WaitTaskPhaseData> waitTaskPhaseData;

    @Data
    public static class TaskIncome {

        @ApiModelProperty("待结算子任务列表")
        @JSONField(name = "predict_income")
        private Integer predictIncome;

        @ApiModelProperty("已确认收益")
        @JSONField(name = "task_bonus_settlement_bill_amount")
        private Integer taskBonusSettlementBillAmount;

        @ApiModelProperty("待确认收益")
        @JSONField(name = "wait_task_bonus_settlement_bill_amount")
        private Integer waitTaskBonusSettlementBillAmount;
    }

    @Data
    public static class TaskJoinData {

        @ApiModelProperty("进行中任务")
        @JSONField(name = "going_task_phase_count")
        private Integer goingTaskPhaseCount;

        @ApiModelProperty("已结束任务")
        @JSONField(name = "ended_task_phase_count")
        private Integer endedTaskPhaseCount;
    }

    @Data
    public static class WaitTaskPhaseData {

        @ApiModelProperty("子任务id")
        @JSONField(name = "task_phase_id")
        private String taskPhaseId;

        @ApiModelProperty("子任务名称")
        @JSONField(name = "task_phase_name")
        private String taskPhaseName;

        @ApiModelProperty("预估奖励金")
        @JSONField(name = "predict_award_amount")
        private Integer predictAwardAmount;
    }

}